#include "ini.h"

        regex letter = range('a','z')|range('A','Z');
        regex number = range('0','9');
        regex underscore = term('_');
        regex identifier = +(letter|number|underscore);
        regex strchars = range(' ','!')|range('#','~');
        regex RxString = term('"') >> *strchars >> term('"');
        regex value = RxString|identifier;
        regex nl = (term(char(0x0D))>>term(char(0x0A))) |term(char(0x0A))|term(char(0x0D));
        regex space = term(" ");
        regex key = term('[') >> identifier >> term(']') >> *space >> nl;
        regex equals = (*term(' ')) >> term('=') >> (*term(' '));
        regex assign = identifier >> equals >> value >> *space >> nl;
        regex comm_char = range(' ','~');
        regex comment = term('#') >> *comm_char >> nl;
